//
//  Entity.h
//  TengineTwo
//
//  Created by StandardUser on 10/02/2012.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
//  entity protocol defines entity abstractions, this protocol is adopted by EntityBase models 
//  and Entity view components
//

#ifndef TengineTwo_Entity_h
#define TengineTwo_Entity_h

#import <Foundation/Foundation.h>
#import "EntityTypes.h"
#import "PoolingModel.h"

@protocol Entity <NSObject, Poolable>

//signatures match CCNode
@property(nonatomic,readwrite,assign) CGPoint position;
@property(nonatomic,readwrite,assign) float rotation;
@property(nonatomic,readwrite,assign) float scale;

@property(readwrite, nonatomic, retain) NSString *cachedTag;
@property(readwrite, nonatomic) EntityType type;
@property(readwrite, nonatomic) CGPoint origin;

@end

#endif
